#pragma once

#include "Nodes/Defs.h"

class NullNode {};

template<>
inline NullNode * NodeFactory<NullNode>::createNodeOr(NullNode * leftNode, NullNode * rightNode) const
{
    return NULL;
}

template<>
inline NullNode * NodeFactory<NullNode>::createNodeAnd(NullNode * leftNode, NullNode * rightNode) const
{
    return NULL;
}

template<>
inline NullNode * NodeFactory<NullNode>::createNodeNot(NullNode * node) const
{
    return NULL;
}

template<>
inline NullNode * NodeFactory<NullNode>::createNodeAtom(const std::string & text) const
{
    return NULL;
}
    
template<>
inline std::string NodeFactory<NullNode>::getFactoryName() const
{
    return "NullNodeFactory";
}


